a. Field of the Invention
The present invention is related to the support of the empirical measurement of the data bandwidth that one or more computer disks can continuously sustain while reading data. A more particular aspect of the present invention is related to a bandwidth calibration (or simply calibration) of one or more disks.
b. Related Art
An accurate measurement of disk bandwidth is necessary to provide performance guarantees in a system using the disk(s). One application to which these performance guarantees are especially important are real-time data streams with audio and video data that an application must receive in a timely manner for correct rendering of the audio and video. There are several existing methods for the calibration of disk bandwidth, each of which has disadvantages overcome by the present invention.
Theoretical calibration: Here, the bandwidth is inferred from design parameters such as rotational speed of disks, data transfer rates, buffer sizes, and controller speeds. Theoretical calibration assumes a model of the disk subsystem that correctly accounts for all relevant attributes, both in hardware and in software. In practice however, this is not possible due to the large number of parameters, and their interactions. Also, theoretical calibration must make worst-case assumptions, significantly underestimating the bandwidth. This results in uneconomic use of the disks.
Empirical calibration overcomes these problems. Empirical calibration measures an actual system under a real or simulated workload. Empirical calibration can be performed in a static or dynamic way.
Static calibration is performed once for all major component configurations before a system is taken into service. See Roger Haskin, Frank Schmuck: The Tiger Shark File System, Proceedings of the IEEE Computer Society International Computer Conference--COMPCON SPRING '96, 1996, p. 3, et seq. ("Haskin"). This implies that either a very large number of possible configurations must to be calibrated at great expense, or that the actual bandwidth of a configuration must be inferred from calibrations of similar configurations, which results in inaccurate bandwidth data. PA1 Dynamic calibration implies that the disk bandwidth of the actual system is measured, at the time of manufacture (see Haskin). This process implicitly takes into account all relevant hardware and software components. It requires that an operational system at the service site can simulate the workload needed for calibration. This presents the following problem. PA1 Their disk blocks must be evenly distributed over all the disks that are part of the disk subsystem to be calibrated. That is, each disk of the subsystem must have the same number of disk blocks belonging to a calibration file. PA1 The locations of the data blocks on the disks must be carefully selected to avoid introduction of statistical artifacts. PA1 The meta data of the files must have a structure identical to ordinary files, to avoid introducing artifacts. PA1 Depending on the characteristics of the data streams, different kinds of calibration files are required. PA1 1. The calibration files will have to be written. This is time consuming. PA1 2. If disks have been in service, the disk locations required for the calibration files may not be available. PA1 3. If new disks are added to an existing subsystem, some disks have blocks and others are empty. This makes it difficult to perform the block allocation needed for the calibration files. PA1 4. For videos of different bandwidths and lengths, different calibration files are required. PA1 5. The disks to be calibrated have to be empty so that all the disk blocks needed for calibration are available to the calibration files. This means that disks that have been in service and contain video data, have to be emptied before calibration can start. PA1 The fast creation of different types of calibration files, according to the expected workload, for example, video files of different lengths and files implying different video data rates; PA1 The creation of calibration files on disks that are in use. This implies that any disk in the set to be calibrated can either be completely empty, or partially occupied, to the point that almost all blocks are occupied by file data and metadata. This ability supports dynamic calibration when an existing disk configuration is expanded by adding new disks; PA1 The calibration of a set of disks where not all disks share the same physical characteristics, resulting in different disk data bandwidths for individual disks; and PA1 The calibration of a set of disks with different degrees of storage utilization. This enables the calibration of disk sets where new, empty disks are added to an existing set that contains data.